The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the inventors hereof, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted to be prior art against the present disclosure.
Various different protocols exist for communication between a host processor and a storage device (or the storage controller of a storage device). A protocol may relate to the type of storage device involved. For example, for a hard-disk-type storage device, a host processor may communicate with the hard disk controller using SAS (Serial-Attached SCSI, or Serial-Attached Small Computer System Interface) or SATA (Serial AT Attachment) protocols, while for a solid-state drive (SSD), a host processor may communicate with the SSD controller using the NVMe protocol, also known as the Non-Volatile Memory Host Controller Interface (NVMHCI) Specification, which is particularly adapted for communicating over a PCIe (PCI Express, or Peripheral Component Interconnect Express) bus.
In addition, a host processor may communicate with its associated RAM (random-access memory) using a Direct Memory Access (DMA) protocol, and with the RAM of another host processor with which the host processor is networked using a Remote DMA (RDMA) protocol.
Currently, if a host processor has to communicate with different types of storage devices using different protocols, the different protocols are managed by the host processor itself.